
package org.openeai.lite.common.util;

import org.openeai.lite.common.control.ConfigController;

public final class Constants
{
    public static final String AUTOSTART = ConfigController.getInstance().getProperty("openunity.autostart");
    
    public static final String ACTIVE = "Active";
    public static final String INACTIVE = "Inactive";
    public static final String UNKNOWN = "UNKNOWN";
    public static final String UNAVAILABLE = "UNAVAILABLE";
    
    /* startup types */
    public static final String STARTUP_NORMAL  = "default";
    public static final String STARTUP_VARIANT = "variant";
    public static final String STARTUP_CUSTOM  = "custom";
    public static final String STARTUP_SPRING  = "spring";
    
    /* Temporary location for upload configuration file */
    public static final String CUSTOM_CONFIG_FILENAME = System.getProperty("java.io.tmpdir") + "/openunity-lite/" + ConfigController.getInstance().getProperty("openunity.config.custom");    

    /* ActiveMQ configurations from properties file */
    public static final String MQ_CONFIG_DEFAULT = ConfigController.getInstance().getProperty("activemq.config.default");
    public static final String MQ_CONFIG_POSTGRES = ConfigController.getInstance().getProperty("activemq.config.postgres");
    public static final String MQ_CONFIG_THROUGHPUT = ConfigController.getInstance().getProperty("activemq.config.througput");
    public static final String MQ_CONFIG_SERVER = ConfigController.getInstance().getProperty("activemq.config.server");
    public static final String MQ_JMX_USER = ConfigController.getInstance().getProperty("activemq.jmx.user");
    public static final String MQ_JMX_PASSWORD = ConfigController.getInstance().getProperty("activemq.jmx.password");    
    public static final String MQ_JMX_URL = ConfigController.getInstance().getProperty("activemq.jmx.url");
    public static final String MQ_BROKER_URL = ConfigController.getInstance().getProperty("activemq.url");
    public static final String MQ_BROKER_NAME = ConfigController.getInstance().getProperty("activemq.broker.name");
    public static final String MQ_UNITY_IN_QUEUE = ConfigController.getInstance().getProperty("activemq.queue.in");
    public static final String MQ_UNITY_OUT_QUEUE = ConfigController.getInstance().getProperty("activemq.queue.out");
    public static final String MQ_UNITY_ERROR_QUEUE = ConfigController.getInstance().getProperty("activemq.queue.error");
    public static final String MQ_UNITY_DEFAULT_TOPIC = ConfigController.getInstance().getProperty("activemq.topic.default"); 

    /* Mule configurations from properties file */
    public static final String MULE_CONFIG_DUMMY = ConfigController.getInstance().getProperty("mule.config.dummy");
    public static final String MULE_CONFIG_DEFAULT = ConfigController.getInstance().getProperty("mule.config.default");
    public static final String MULE_CONFIG_TEST = ConfigController.getInstance().getProperty("mule.config.test");
    public static final String ROUTER_CONFIG_DEFAULT = ConfigController.getInstance().getProperty("camel.config.default");
    
    /**
     * The caller references the constants using <tt>Constants.SOME_STRING</tt>, and so on. 
     * Thus, the caller should be prevented from constructing objects of 
     * this class, by declaring this private constructor. 
     */    
    private Constants() {
    }
    
}
